<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数学对象(Math Object)</title>
  <!-- 
  在JavaScript中， Math 对象是一个内置对象，提供了许多与数学相关的属性和方法。它不是一个构造函数，因此不能使用 new 关键字来创建实例。
  一、基本特性
    1. 内置对象：
      -  Math 对象是JavaScript的内置对象，提供了一系列数学常量和函数。
    2. 静态方法：
      -  Math 对象的方法是静态的，可以直接通过 Math.methodName() 的方式调用，无需实例化。

  二、常用属性
    1.  Math.PI ：
      - 表示圆周率π，约等于3.14159。
    2.  Math.E ：
      - 表示自然对数的底数e，约等于2.71828。
    3.  Math.LN2 、 Math.LN10 、 Math.LOG2E 、 Math.LOG10E ：
      - 这些属性分别表示对数的常数。
    4.  Math.SQRT2 ：
      - 表示2的平方根，约等于1.41421。

  三、常用方法
    1. 四舍五入：
      -  Math.round(x) ：返回四舍五入后的整数。
      -  Math.ceil(x) ：返回大于或等于x的最小整数（向上取整）。
      -  Math.floor(x) ：返回小于或等于x的最大整数（向下取整）。
    2. 绝对值：
      -  Math.abs(x) ：返回x的绝对值。
    3. 幂和平方根：
      -  Math.pow(base, exponent) ：返回base的exponent次幂。
      -  Math.sqrt(x) ：返回x的平方根。
    4. 随机数：
      -  Math.random() ：返回一个0到1之间的随机数（不包括1）。
    5. 三角函数：
      -  Math.sin(x) 、 Math.cos(x) 、 Math.tan(x) ：分别返回x的正弦、余弦和正切值（x以弧度为单位）。
      -  Math.asin(x) 、 Math.acos(x) 、 Math.atan(x) ：分别返回x的反正弦、反余弦和反正切值。
    6. 最小值和最大值：
      -  Math.min(value1, value2, ...) ：返回给定参数中的最小值。
      -  Math.max(value1, value2, ...) ：返回给定参数中的最大值。

  四、示例
    以下是一些使用 Math 对象的示例：
    // 使用Math对象的属性
    console.log(Math.PI); // 输出3.141592653589793
    console.log(Math.E); // 输出2.718281828459045

    // 使用Math对象的方法
    console.log(Math.round(4.7)); // 输出5
    console.log(Math.ceil(4.1)); // 输出5
    console.log(Math.floor(4.9)); // 输出4
    console.log(Math.abs(-10)); // 输出10
    console.log(Math.pow(2, 3)); // 输出8
    console.log(Math.sqrt(16)); // 输出4
    console.log(Math.random()); // 输出一个0到1之间的随机数

    // 最小值和最大值
    console.log(Math.min(1, 2, 3, -1)); // 输出-1
    console.log(Math.max(1, 2, 3, -1)); // 输出3

  总结
  -  Math 对象是JavaScript内置的数学对象，提供了丰富的数学常量和方法。
  - 包含属性如 Math.PI 和 Math.E ，以及多种数学函数，如取整、绝对值、幂、平方根和随机数等。
  - 使用 Math 对象可以方便地进行各种数学计算。

  理解 Math 对象的使用方法可以帮助开发者在JavaScript中进行复杂的数学运算和随机数生成。
   -->
</head>
<body>

  <script>

    // 1. Math 对象的属性
    // Math.PI：圆周率π的值，约等于3.141592653589793。
    // Math.E：自然对数的底数e，约等于2.718281828459045。
    console.log(Math.PI); // 输出3.141592653589793
    console.log(Math.E); // 输出2.718281828459045

    // 2. Math 对象的方法
    // Math.round(x)：返回四舍五入后的整数。
    // Math.ceil(x)：返回大于等于x的最小整数。
    // Math.floor(x)：返回小于等于x的最大整数。
    // Math.abs(x)：返回x的绝对值。
    // Math.pow(x, y)：返回x的y次幂。
    // Math.sqrt(x)：返回x的平方根。
    // Math.random()：返回一个0到1之间的随机数。
    console.log(Math.round(4.5)); // 输出5
    console.log(Math.round(4.4)); // 输出4
    console.log(Math.ceil(4.4)); // 输出5
    console.log(Math.floor(4.4)); // 输出4
    console.log(Math.abs(-10)); // 输出10
    console.log(Math.pow(2, 3)); // 输出8
    console.log(Math.sqrt(16)); // 输出4

    // 3. Math 对象的常用方法
    // Math.max(x, y, z, ...)：返回给定数值中的最大值。
    // Math.min(x, y, z, ...)：返回给定数值中的最小值。
    console.log(Math.max(1, 2, 3, -1)); // 输出3

    // 4. Math.random()：返回一个0到1之间的随机数。
    console.log(Math.random()); // 输出一个0到1之间的随机数

    // 5. Math.floor(Math.random() * (max - min + 1)) + min：生成一个min到max之间的随机整数。
    console.log(Math.floor(Math.random() * (10 - 1 + 1)) + 1); // 输出一个1到10之间的随机整数
    
  </script>
  
</body>
</html>